home *** CD-ROM | disk | FTP | other *** search
-
-
-
- - 1 -
-
-
-
- 1. _P_a_t_c_h__S_G_0_0_0_0_7_6_6__R_e_l_e_a_s_e__N_o_t_e
-
- This release note describes patch SG0000766 to IRIX 5.3.
-
- 1.1 _S_u_p_p_o_r_t_e_d__H_a_r_d_w_a_r_e__P_l_a_t_f_o_r_m_s
-
- This patch contains bug fixes for the following machine
- types. The software cannot be installed on other
- configurations:
-
- +o Challenge and Onyx with R4400 processors
-
- +o Crimson (4D/510)
-
- +o PowerSeries (4D/120, 4D/2xx, 4D/3xx and 4D/4xx)
-
- +o Indigo and Indigo2 (including the new 175MHz and 2MB
- cache processor modules)
-
- +o Indy
-
- 1.2 _S_u_p_p_o_r_t_e_d__S_o_f_t_w_a_r_e__P_l_a_t_f_o_r_m_s
-
- This patch contains bug fixes for IRIX 5.3. The software
- cannot be installed on other configurations.
-
- 1.2.1 _S_p_e_c_i_a_l__p_r_o_c_e_d_u_r_e__f_o_r__r_e_m_o_v_i_n_g__t_h_i_s__p_a_t_c_h
-
- Removing this patch may require reinstalling certain other
- patches. Reinstalling a patch is necessary whenever two
- unrelated patches that install the same file(s) have been
- installed and one of those patches is then removed. This
- occurs because removing one of the patches replaces the file
- in common with the version of the file that was in place
- before either patch was installed. Reinstalling the
- remaining patch replaces the file with the newer version
- from the patch. Almost all patches are designed to avoid
- this situation (patches containing common files). However,
- in a few cases it's necessary.
-
- The files this patch has in common with other patches are
- _x_f_s_s_t_u_b_s._a and _x_l_v_s_t_u_b_s._a. Patches 452, 481, and 547
- contain _x_f_s_s_t_u_b_s._a. Patch 585 contains _x_l_v_s_t_u_b_s._a. Any
- patch that replaces one of the listed patches will also
- contain the same stubs files.
-
- If you remove any one of patches that contain _x_f_s_s_t_u_b_s._a
- (_x_l_v_s_t_u_b_s._a) you must reinstall the others that also contain
- _x_f_s_s_t_u_b_s._a (_x_l_v_s_t_u_b_s._a). Note that if you have just one of
- the affected patches installed this procedure doesn't apply
- and it may be removed without difficulty.
-
-
-
-
-
-
-
-
-
-
-
- - 2 -
-
-
-
- What happens when one of these overlapping patches is
- removed without (one of) the other(s) being reinstalled is
- that the kernel won't link due to undefined symbols. If the
- kernel links there is not a problem. Nothing in the
- operation of your system can be affected by using the wrong
- XFS or XLV stubs files.
-
- 1.2.2 _W_a_r_n_i_n_g__f_o_r__5_._3__w_i_t_h__X_F_S__c_o_n_f_i_g_u_r_a_t_i_o_n_s
-
- Because of an addition to the _x_l_v_s_t_u_b_s._a image shipped as a
- part of this patch, upon relinking the kernel after
- installing this patch a warning may be printed out by the
- linker. This warning will only appear if XLV is not
- configured into the kernel. The text of the warning is:
-
- Warning: xlvstubs.a(xlvstubs.o): xlv_next_config_request:
- multiply defined
- previous (used) definition from 'xlvplexstubs.a';
- new (ignored) definition from 'xlvstubs.a'
-
- This warning is harmless and expected. It does not affect
- the correctness of the kernel output by the linker, and
- should be ignored.
-
- 1.3 _B_u_g_s__F_i_x_e_d__b_y__P_a_t_c_h__S_G_0_0_0_0_7_6_6
-
- Descriptions of fixes in this patch include bug numbers from
- the Silicon Graphics bug tracking system for reference.
-
- This patch includes support for Rev.C (and higher) DANG
- chips. Previously only Rev.B DANG chips were recognized, in
- order to protect against bugs in Rev.A chips. This patch
- recognizes DANG chips whose version is Rev.B or higher. It
- is required for support of products on Challenge and Onyx
- systems such as the following, which use the Rev.C chip:
-
- +o HIO FDDI mezz (XPI)
-
- +o HIO 8-port Ethernet (E-plex)
-
- The following bug fixes in IRIX 5.3 are included in this
- patch.
-
- +o On earlier versions of IRIX 5.3, the kernel crash can
- crash if one thread of a parallel process group deletes
- a memory segment that is simultaneously in use by
- another thread in the same sssspppprrrroooocccc group for an I/O
- operation. This is fixed by detecting _m_u_n_m_a_p and _s_h_m_d_t
- calls that reference segments in use by another sssspppprrrroooocccc
- for I/O and rejecting those calls with EBUSY. (Bug
- #275207).
-
-
-
-
-
-
-
-
-
-
-
- - 3 -
-
-
-
- +o 133Mhz R4600SC loses time at about 30 seconds/day (Bug
- #253937). Fix causes hinv to report CPU speed as
- 132Mhz. Previously hinv would report an incorrect CPU
- speed of 134Mhz.
-
- +o The 175Mhz R4400SC keeps inaccurate ust.
-
- +o An Indy or Challenge S would panic after a power
- failure warning. This was generally the result of a
- temporary power brown out (bug #249413).
-
- +o When an Indy or Challenge S encountered a bad kernel
- memory reference, it would sometimes hang
- uninterruptibly (so that even the power switch would
- not work) (bug #254936).
-
- +o Parity error reporting does not report correct SIMM or
- physical address in some circumstances (Bug #265516).
-
- +o It is possible for the system to loop forever printing
- the message "CPU x WARNING:tlbmiss: invalid badvaddr
- XXX". This could happen if there is an invalid
- reference in the kernel to kernel heap space. When this
- situation arose the system would have to be forcibly
- rebooted. The kernel has now been corrected to panic
- whenever such a situation arises so that the errant
- code can be isolated (bugs 189291, 251742).
-
- +o Lost clock interrupts on Power Series machines cause
- time to drift under a heavy system load. This patch
- provides a temporary workaround to the problem on
- machines equipped with an IO3 board. Machines which do
- not have an IO3 board installed will be uneffected by
- this patch (bug 192233).
-
- +o On large memory systems, the kernel previously had no
- throttle mechanism on the use of kernel virtual address
- space. Kernel virtual address space is used to map the
- kernel and its control data structures. Sometimes, EFS,
- NFS, raw I/O and other operations could cause the O/S
- to consume too much kernel virtual space to map file
- systems buffers. A new kernel variable "bmappedpct",
- dynamically tuneable, has been added to limit the % of
- "syssegsz" kernel virtual space allowed to be used by
- the file system buffers. When that value is exceeded,
- the system actively attempts to reclaim virtual address
- space. As shipped, this patch sets this value at 50%.
- Setting this tunable variable to "100" (or 100%)
- effectively disables this new control. In addition,
- this patch increases the maximum amount of kernel
- virtual space a 32-bit Challenge system can allocate
-
-
-
-
-
-
-
-
-
-
-
- - 4 -
-
-
-
- from 256MB to 384MB. The default formula, which is
- used when the tuneable parameter "syssegsz" is 0, is
- still 1/2 the system's memory size (bug 205422).
-
- +o Two optimizations were made to the cache flushing code
- in this patch. One change applies to all platforms and
- pertains to situations where user code pages are
- faulted in. In this scenario it is necessary to flush
- the code page out of all the caches in order to
- guarantee that stale code is not executed. This change
- ensures that once the code page has been flushed and
- then executed, it will remain in the caches if it is
- faulted in again. The second change applies to
- Challenge systems. For these systems it is necessary
- for all cpus to occasionally flush all of their caches
- in order to avoid virtual coherency exceptions on
- kernel stack pages. What this change does is to greatly
- reduce the frequency of this event by ensuring that all
- free pages in the system are marked as clean in the
- caches (bug 248890).
-
- +o Symmon sometimes hangs or gets exceptions on Indigo2
- and Indy R4000 and R4400 machines, when single
- stepping, continuing from a breakpoint or entering into
- symmon from either cntrl-a or symstop or dbgstop. (bug
- 249285)
-
- +o This patch fixes a problem which arose when programs
- were execed by pre-loading all their text. In such a
- situation the lack of coherency between the instruction
- and data caches was not accounted for and the results
- were not reliable. This now works correctly (bug
- 249652).
-
- +o A race condition exists between a process exiting and
- looking at that same process's credentials using the
- /proc interface. The /proc interface attempts to look
- at process's credentials after releasing a lock on the
- process entry. If the process exits within a few
- instructions the lock being released, then the /proc
- support can use an invalid pointer and panic the
- system. The solution in this patch holds the process
- entry locked until all credential information is copied
- (bug 249685).
-
- +o The logical volume driver has a race condition between
- the "open" and "ioctl" entry points. This patch
- includes a fix that serializes opens and ioctls on
- logical volumes. This fixes problems encountered by
- running multiple mklv commands on the same LV at the
- same time (bug 250334).
-
-
-
-
-
-
-
-
-
-
-
- - 5 -
-
-
-
- +o On an MP system, a process can change the priority of
- another process which could be running on another cpu.
- This fix will allow it to do so without running into
- any kernel stack extension page mismatches (bug
- 252308).
-
- +o Doing frequent raw I/O operations to buffers scattered
- throughout large data areas (regions in excess of 32
- Meg) can cause large numbers of tfaults in certain
- circumstances. These tfaults have no effect on the
- correctness of the system, but can reduce overall
- performance if they occur too frequently. (The tfault
- rate can be observed with osview(1).) This fix
- eliminates the excessive tfaults (bug 253861).
-
- +o Kernel multi-access, single-update locks are fixed in
- this patch to work properly for single-processor
- systems (bug 254554).
-
- +o A bug in the getdents system call would cause a system
- crash if a zero-length request was passed to getdents.
- This case is now fixed to return EINVAL (bug 255067).
-
- +o Previously, when a region of user memory grew large
- enough to require a multi-level chunk tree, and when
- the user program did a "shrink" via sbreak, and when
- the shrink happened to occur on certain boundaries that
- are significant to the anon chunk management code, it
- was possible for the process to hang or for the system
- to crash. This now works correctly (bug 255268).
-
- +o There is a small race condition that can cause the
- kernel to get a segmentation violation with a NULL
- pointer. This can happen in special cases that can
- occur when the following conditions simultaneously
- happen: (1) the kernel tries to page out pages from a
- process's data or bss, (2) this is after the data has
- been modified by the debugger (or in other cases that
- cause the data or bss to be shared between multiple
- processes), and (3) the process then shrinks its bss
- segment with either the brk or sbrk system calls while
- the paging I/O is in progress for the pages being
- affected by the brk or sbrk call. This now works
- correctly (bug 255378).
-
- +o A special case file-system buffer cache bug could
- produce an incorrect buffer page list. This now works
- correctly. (bug 257730).
-
- +o When an application sets the ioctl flag CLOCAL (man
- termio), hardware flow control (CTS) is disabled. This
-
-
-
-
-
-
-
-
-
-
-
- - 6 -
-
-
-
- is incorrect and results in data being lost. Hardware
- flow control should only depend on the value of
- CNEW_RTSCTS. (bug 243836)
-
- +o When the posix_tcsendbreak parameter is set, this fix
- defers release of the controlling tty vnode in certain
- cases of exit by the process group/session leader, in
- compliance with PCTS FIPS 151-2, DC/tcsetpgrp test 10.
- It is not recommended that the posix_tcsendbreak
- parameter be set for normal operation (bug 228386).
-
- +o When there is a previous alarm() request with less than
- one second remaining, a call to alarm() is fixed to
- return 1, in compliance with PCTS FIPS 151-2, Section
- PP, alarm(); Assertion 9 (bug 229122).
-
- +o Signal handling is fixed to deliver SIGSTOP before
- other lower numbered signals, in compliance with PCTS
- FIPS 151-2 sigsuspend() (bug 235511).
-
- +o Currently, IRIX returns an error on sending a signal to
- a zombie process - a fix in this patch causes a return
- value of 0 for a kill() that delivers a signal to a
- zombie process (one that has terminated, but who has
- not been waited on by its parent process), subject to
- permission checking. This change is in compliance with
- PCTS FIPS 151-2, DEF/gen_terms test 3 (bug 237358).
-
- +o When the posix_tty_default parameter is set, this fix
- causes SIGHUP to be issued instead of SIGTSTP on modem
- disconnect, in compliance with PCTS FIPS 151-2,
- DC/tcsetattr test 21 (bug 237980).
-
- +o Fixes POSIX 151-2 DC/tcsendbreak 4. Prevents possible
- corruption of data sent immediately prior to issuing
- break on serial ports running at baud rates below
- 19.2Kbaud. (bug 261242).
-
- +o When the posix_tty_default parameter is set, this fix
- avoids placing a STREAMS message boundary at the
- location of an INTR, QUIT, SUSP special character in
- the input stream, in compliance with PCTS FIPS 151-2,
- DC/settable tests 67, 68 (bug 238249).
-
- +o Fixes POSIX 151-2: DC/settable 33. Ensures that STOP
- character is always sent when input buffer approaches
- overflow. The systune parameter posix_tty_default must
- be set to 1 to activate the fix (bug 261561).
-
- +o Certain real time applications have surfaced a
- performance problem, symptomized by bursts of rfaults
-
-
-
-
-
-
-
-
-
-
-
- - 7 -
-
-
-
- that last for about 3 seconds and occur once every 3-5
- minutes. These bursts can cause a real time
- application to miss its deadlines. This patch includes
- a fix which eliminates these bursts by getting rid of
- most of the region lookups in tfault (bug 251286).
-
- +o A fix in this patch ensures that the last process to
- close a terminal device file causes any data in the
- output queue to be sent to the device. (bug 259751).
-
- +o This patch contains support for REACT/PRO 1.1.
- Previous versions of REACT/PRO will not work with this
- patch. Customers running version 1.0 of REACT/PRO
- should remove it or replace it at the time this patch
- is installed (bugs 266215 and 266216).
-
- +o In fork, the parent process calls save() and then
- copies the save area to the child's uarea. In between,
- there is a call to page_mapin() which could switch out
- the parent process and that ends up changing the save
- area. Therefore, the child ends up with a bad save
- area and resumes at the wrong place. This bug fix
- switches the order of copying save area and calling
- page_mapin() to close the window for the manifestation
- of the bug (bug 262839).
-
- +o On EVEREST and ONYX, when a processor was isolated,
- timeouts running on a processor would be incorrectly
- migrated to another processor. Side effects of the
- migration is that timeouts could take effect either
- immediately, or be delayed 10 times as long. This
- could cause premature SCSI timeouts and resets, as well
- as other bad effects (bug 267583).
-
- +o Symmon, the kernel debugger, would sometimes fail on
- certain configurations due to uncached accesses
- conflicting with cached accesses. This problem affects
- IP19 Everest processors of all speeds, but is more
- likely to occur on the faster CPUs. It is manifested
- as either an infinite loop of "SYMMON EXCEPTION" during
- boot, or CPUs not starting. Symmon now runs cached,
- and the kernel initializes the cache in such a way as
- to not cause any conflicting cached and uncached
- accesses (bug 245913).
-
- +o Production kernels would not support some of the symmon
- commands such as "plist" and "slpproc". This was caused
- by tlb misses that neither the kernel or symmon were
- prepared to handle. The fix is to use a more general
- utlbmiss handler if symmon is loaded (the same as a
- developers DEBUG kernel). This may cause a small
-
-
-
-
-
-
-
-
-
-
-
- - 8 -
-
-
-
- decrease in performance for kernels running with symmon
- (bug 256363).
-
- +o On EVEREST and ONYX it was possible that a timeout
- interrupt from a timeout that had previously been moved
- off the processor would still interrupt the processor.
- This would disrupt real time programs (bug 267112).
-
- +o On a large MP system under heavy rcp network load it is
- possible for the kernel udp multireader/writer lock to
- thrash while one process attempts to release it and
- many are attempting to acquire it. The symptoms are
- that gr_osview shows several cpus pegged in the red
- (%sys) for several seconds at a time every few seconds,
- and "ping localhost" reports erratic very high
- (seconds!) ping times. This behavior is fixed in this
- patch (bug 266961).
-
- +o Resource limits were getting reset any time a process
- execed a setuid/setgid program. This fix allows
- restriction to only those processes which exec a
- setuid/setgid-to-root program, and adds a configuration
- option, reset_limits_on_exec, to enable the restricted
- behavior (i.e., not reset limits even when program is
- setuid to root). The default setting for this variable
- is one, which retains the current behavior. If the new
- restricted behavior is needed, reset_limits_on_exec
- should be set to zero. Refer to the comments in
- mtune/kernel system file (bug 250430).
-
- +o If a process using OpenGL created a child process which
- shared the address space of the parent, then attempted
- to use OpenGL from the child process the process or
- system could hang. This problem could be encountered
- by applications using the OpenGL version of the movie
- library (libmovieGL), since the movie library creates a
- thread which uses OpenGL to display frames from the
- movie. This problem has been fixed. (bug 265136).
-
- +o Changes were put into the kernel which allow the poll
- system call to accept file descriptors (nfds) upto the
- current resource limit of maximum number of open files
- per process (bug 268855).
-
- +o Challenge and Onyx systems can crash during probing at
- times when the combination of hardware error bits set
- in the IO4 error registers are not expected. Although
- rare, these cases are fixed in this patch (bug 267292).
-
- +o Under rare circumstances a process on a local scheduler
- affinity queue could be starved of cpu time because of
-
-
-
-
-
-
-
-
-
-
-
- - 9 -
-
-
-
- a bug in the clock-based affinity queue cleanup that
- caused the first affinity queue that should have been
- examined to be skipped. A simple fix in this patch
- ensures that all local queues are examined and that
- processes with expired affinity on the local queues are
- correctly moved to the global queue (bug 268443).
-
- +o This patch includes kernel changes that improve the
- performance of the pty subsystem by reducing system
- overhead. A new version of the streamio(7) manual page
- is included with this patch, which documents two new
- ioctls added in support of the performance optimization
- (bug 243813). See the following section, "STREAMS
- STRHOLD capability", for complete interface
- description.
-
- +o Long running processes that continuously forked new
- children faster than the old children would exit or
- exec encountered a performance problem when running for
- long periods of time. The symptoms exhibited were a
- steadily increasing amount of time spent in the kernel
- mode, a corresponding decrease in application
- performance, and an increasing amount of kernel zone
- memory. This performance problem (including the
- excessive zone memory usage) has been fixed (bug
- 267904).
-
- +o When isolated processors and processor affinity are in
- use, the kernel heap may be corrupted. This can happen
- if memory used by the scheduler for the process using
- affinity is freed (at exit) time, the process is still
- around (wait not yet called), the memory is
- reallocated, and the processor isolations are changed.
- The result is often that a file's extent list is
- trashed, this might not be noticed until the next crash
- and reboot, or the next access to that file (bug
- 276262).
-
- +o The select system call does not recognize a MSG_BAND
- message received on a file descriptor as an exception
- condition which should be set in the exception file
- descriptors set. Fixed to set an exception condition
- on receipt of a MSG_BAND message. This fixes a MIPS
- ABI test failure (bug 279550).
-
- +o A fix in this patch enables debugging (reading/writing)
- of isolated processes and sprocs. Reads of isolated
- procs and sprocs introduce no latency to the affected
- isolated processors. Writes of isolated procs and
- sprocs do introduce latency due to the need to
- synchronize instruction and tlb caches (bug 216158).
-
-
-
-
-
-
-
-
-
-
-
- - 10 -
-
-
-
- +o This patch fixes a bug whereby accesses to /dev/kmem
- could cause EVEREST systems to crash. Addresses were
- not properly filtered by the /dev/kmem driver before
- the driver attempted to access the given address. An
- improper address could therefore cause a bus error,
- which would in turn cause the system to panic (bug
- 283505).
-
- +o This patch fixes a problem whereby realtime processes
- being made runable after waiting on a semaphore could
- preempt a lower priority process (bug 286083).
-
- +o This patch has optimizations for faster core dumps in
- the event of the kernel panicing. This is particularly
- useful for large memory configurations. Dumping of
- free and user pages is now controllable thru a systune
- variable dump_all_pages, which, when set to 0, will
- ignore dumping such pages. This systune value should
- normally be kept at its default value of 1 and should
- only be set to 0 if reboot time after a panic causes
- major inconvenience (bug 285989).
-
- +o This patch fixes a problem in crash dump code which
- causes it to dump bad information above 512M when a
- page is not compressible (bug 286718).
-
- +o This patch fixes a bug which prevented the
- enable_sysad_parity and disable_sysad_parity kernel
- functions from working properly when called from a
- kernel driver's interrupt handler (bug 291175).
-
- +o On Challenge S and Indy, modem connections would
- sometimes stay open after PPP, SLIP, cu, or other
- software had requested the line be dropped. This patch
- fixes that bug (bug 277949).
-
- +o This patch fixes a race condition where isolating a
- processor could cause a kernel panic (bug 271295).
-
- +o This patch fixes a bug whereby cause bits were not set
- correctly in certain cases of FP exceptions on R3000
- systems (bug 276012).
-
- +o This patch fixes several small race conditions that
- could cause performance spikes in certain cases for
- kernel virtual memory allocation (bug 295101).
-
- +o This patch supplies VME group interrupt support for the
- frame scheduler (bug 272870).
-
-
-
-
-
-
-
-
-
-
-
-
-
- - 11 -
-
-
-
- +o This patch fixes bugs in memory parity error reporting
- and fixing on Indigo/Indigo II/Indy machines (bugs
- 256521 and 270168).
-
- +o This patch fixes a race condition whereby proc0 (sched)
- would sometimes not wake up and re-activate a process
- that was in the SXBRK state, even though there was
- plenty of free memory (bug 300641).
-
- +o Fix zduart driver (CONSOLE_D2 code), to only check for
- a <ctrl-a> on the port that is set to the console not
- both.
-
- +o Added two routines need for the dmedia video driver
- (__ll_bit_extract & __ll_bit_insert).
-
- +o Added "impactgm" variable that can be set in the PROM
- before booting the kernel. This will enable globel
- texture manager.
-
- +o There was a small race in the IRIX kernel between the
- paging daemon and a process which had breakpoints set
- and was in the midst of a fork system call, which could
- cause a system crash. The race is now avoided with a
- kernel mutual exclusion lock (bug 274621).
-
-
- 1.4 _S_T_R_E_A_M_S__S_T_R_H_O_L_D__c_a_p_a_b_i_l_i_t_y
-
- This patch implements the STREAMS STRHOLD feature in the
- stream head. This feature allows the stream head to
- coalesce several small fast writes into a single streams
- message before sending the data downstream, thus reducing
- STREAMS overhead. The STRHOLD feature can be activated on a
- stream by stream basis by setting the STRHOLD flag in the
- stream head.
-
- From within a driver or module, the STRHOLD flag can be set
- by setting the new SO_STRHOLD flag in the so_flags field of
- an M_SETOPS message and sending it upstream towards the
- stream head. Likewise, the STRHOLD flag can be cleared by
- setting the new SO_NOSTRHOLD flag in the so_flags field.
-
- Example:
-
- int set_strhold(queue_t *rq, int set) {
- mblk_t *bp;
- struct stroptions *sop;
-
- if ((bp = allocb(sizeof(struct stroptions),
- BPRI_HI)) == NULL)
-
-
-
-
-
-
-
-
-
-
-
- - 12 -
-
-
-
- return -1;
- bp->b_datap->db_type = M_SETOPTS;
- sop = (struct stroptions*)bp->b_rptr;
- if (set)
- sop->so_flags |= SO_STRHOLD;
- else /* clear */
- sop->so_flags |= SO_NOSTRHOLD;
- putnext(rq, bp); }
-
- To view and manipulate the STRHOLD flag in the stream head
- from a user application, it is necessary to use the new,
- expanded I_GWROPT and I_SWROPT ioctls. Refer to the
- following in the updated version of streamio(7) with this
- patch:
-
- I_SWROPT Sets write mode using the value of the argument "arg".
- Legal bit settings for "arg" are:
-
- SNDZERO Send a zero-length message downstream when a
- write of 0 bytes occurs.
- SNDPIPE Send SIGPIPE to process if sd_werror is set and
- the process is doing a write or putmsg.
- SNDHOLD Activate the STRHOLD feature.
-
- I_GWROPT Returns current write mode setting, as described above,
- in the int that is pointed to by argument "arg".
-
- Example:
-
- int
- set_strhold(int fd, int set)
- {
- int flags;
-
- if (ioctl(fd, I_GWROPT, &flags) < 0)
- return -1;
- if (set)
- flags |= SNDHOLD;
- else
- flags &= ~SNDHOLD;
- return (ioctl(fd, I_SWROPT, flags));
- }
-
- At a system level, the STRHOLD feature is controlled by two
- new tunable parameters, strholdtime and tty_auto_strhold:
-
- strholdtime this is the maximum time (in milliseconds) that a stream
- on which the STRHOLD feature is active will hold written
- data at the stream head in the hope of being able to
- coalesce it with data from a following write. Note that
- the STRHOLD feature trades overhead for latency. The
-
-
-
-
-
-
-
-
-
-
-
- - 13 -
-
-
-
- default value is 50ms. If this parameter is 0, the
- STRHOLD feature is effectively turned off on the system.
-
- tty_auto_strhold if set, the line discipline module stty_ld will
- automatically set STRHOLD in the stream head whenever
- the line discipline is doing both echo and line
- canonicalization (ICANON|ECHO) and will automatically
- clear STRHOLD in the stream head otherwise (regardless
- of any I_SWROPT value requested by the user). This
- allows existing pty-based applications to take
- advantage of the STRHOLD feature without modification.
- The default value is 0.
-
-
- 1.5 _S_u_b_s_y_s_t_e_m_s__I_n_c_l_u_d_e_d__i_n__P_a_t_c_h__S_G_0_0_0_0_7_6_6
-
- This patch release includes these subsystems:
-
- +o patchSG0000766.eoe1_man.unix
-
- +o patchSG0000766.eoe1_sw.unix
-
- +o patchSG0000766.eoe2_sw.kdebug
-
- +o patchSG0000766.eoe2_sw.perf
-
-
- 1.6 _I_n_s_t_a_l_l_a_t_i_o_n__I_n_s_t_r_u_c_t_i_o_n_s
-
- Because you want to install only the patches for problems
- you have encountered, patch software is not installed by
- default. After reading the descriptions of the bugs fixed in
- this patch (see Section 1.3), determine the patches that
- meet your specific needs.
-
- If, after reading Sections 1.1 and 1.2 of these release
- notes, you are unsure whether your hardware and software
- meet the requirements for installing a particular patch, run
- _i_n_s_t.
-
- Patch software is installed like any other Silicon Graphics
- software product. Follow the instructions in your _S_o_f_t_w_a_r_e
- _I_n_s_t_a_l_l_a_t_i_o_n _A_d_m_i_n_i_s_t_r_a_t_o_r'_s _G_u_i_d_e to bring up the miniroot
- form of the software installation tools.
-
- Follow these steps to select a patch for installation:
-
- 1. At the Inst> prompt, type
-
- iiiinnnnssssttttaaaallllllll ppppaaaattttcccchhhhSSSSGGGG_x_x_x_x_x_x_x
-
-
-
-
-
-
-
-
-
-
-
-
- - 14 -
-
-
-
- where _x_x_x_x_x_x_x is the patch number.
-
- 2. Select the desired patches for installation.
-
- 3. Initiate the installation sequence. Type
-
- IIIInnnnsssstttt>>>> ggggoooo
-
- 4. You may find that two patches have been marked as
- incompatible. If this occurs, you must deselect one
- of the patches.
-
- IIIInnnnsssstttt>>>> kkkkeeeeeeeepppp ppppaaaattttcccchhhhSSSSGGGG_x_x_x_x_x_x_x
-
- where _x_x_x_x_x_x_x is the patch number.
-
- 5. After completing the installation process, exit the
- _i_n_s_t program by typing
-
- IIIInnnnsssstttt>>>> qqqquuuuiiiitttt
-
-
- To remove a patch, use the _v_e_r_s_i_o_n_s _r_e_m_o_v_e command as you
- would for any other software subsystem. The removal process
- reinstates the original version of software unless you have
- specifically removed the patch history from your system.
-
- vvvveeeerrrrssssiiiioooonnnnssss rrrreeeemmmmoooovvvveeee ppppaaaattttcccchhhhSSSSGGGG_x_x_x_x_x_x_x
-
- where _x_x_x_x_x_x_x is the patch number.
-
- To keep a patch but increase your disk space, use the
- _v_e_r_s_i_o_n_s _r_e_m_o_v_e_h_i_s_t command to remove the patch history.
-
- vvvveeeerrrrssssiiiioooonnnnssss rrrreeeemmmmoooovvvveeeehhhhiiiisssstttt ppppaaaattttcccchhhhSSSSGGGG_x_x_x_x_x_x_x
-
- where _x_x_x_x_x_x_x is the patch number.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-